Knowledge Reuse for Software Reuse

نویسندگان

  • Frank McCarey
  • Mel Ó Cinnéide
  • Nicholas Kushmerick
چکیده

Software reuse can provide significant improvements in software productivity and quality whilst reducing development costs. Expressing software reuse intentions can be difficult though. A developer may aspire to reuse a software component but experience difficulty expressing their reuse intentions in a manner that is compatible with, or understood by, the component retrieval system. Various intelligent retrieval techniques have been developed that assist a developer in locating or discovering components in an efficient manner. These solutions share a common shortcoming: the developer must be capable of anticipating all reuse opportunities and initiating the retrieval process. There is a need for a comprehensive technique that not only assists with retrievals but that can also identify reuse opportunities. This paper advocates that component-based reuse can be supported through knowledge collaboration. Often programming tasks and solutions are replicated; this characteristic of software can be exploited for the benefit of future developments. Through the mining of existing source code solutions, knowledge, relating to how components are used by developers, can be extracted. Based on a developer’s current programming task, this knowledge can subsequently be filtered and used to recommend a candidate set of reusable components. This novel recommendation approach applies and extends commonly used Information Retrieval and Information Filtering techniques such as Collaborative Filtering, Content-Based Filtering, and Bayesian Clustering Models, to the software reuse domain. This recommendation technology is applied to several thousand open-source Java classes. The most effective recommendation algorithm produces recommendations of a high quality at a low cost.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

SERVICE - BASED AUTOMATION OF SOFTWARE CONSTRUCTION ACTIVITIES by Marcus Zinn

____________________________________________________________________ ____________________________________________________________________ iii Abstract Service-based automation of software construction activities Marcus Zinn Master of Science The reuse of software units, such as classes, components and services require professional knowledge to be performed. Today a multiplicity of different sof...

متن کامل

Applying Experiences of Organizing Large-Scale Knowledge Bases to Industry-Sized Software Reuse

keywords. compositional software reuse, large-scale knowledge base organization, contextual knowledge representation, multiple-view approach, case-based reasoning. 1. INTRODUCTION Software reuse is widely believed to be a promising means for improving software productivity and reliability, and therefore is an issue of growing interest in software engineering. Unfortunately, many difficulties pr...

متن کامل

Knowledge maturing as a process model for describing software reuse

Software reuse has become a major topic in software engineering since reusing artifacts has an important effect on the cost and quality of software products. Accordingly, understanding and managing the mechanisms of software reuse is important for every organization that develops software. In this paper we describe a knowledge maturing process in software engineering and use it to analyze two c...

متن کامل

Operationalizing Comprehensive Software Knowledge Reuse Based on CBR Methods

Reuse of software knowledge is a principle for improving productivity of software development and reliability of software systems. To achieve this, reuse must be done systematically. This means that methods for retrieving, adapting, and learning have to be defined. In this paper we present MIRACLE, a model which integrates the reuse of software knowledge and case-based reasoning. MIRACLE extend...

متن کامل

SRS: A Software Reuse System based on the Semantic Web

As software systems become bigger and more complex, software developers need to cope with a growing amount of information and knowledge. New supporting tools for the management of knowledge created during software development and maintenance is a necessity felt in the software industry. The knowledge generated during the software development process can be a valuable asset for a software compan...

متن کامل

Reuse Approaches in Software Engineering and Knowledge Engineering: A Comparison

This paper compares the approaches to reuse in software engineering and knowledge engineering. In detail, definitions are given, the history is enlightened, the main approaches are described, and their feasibility is discussed. The aim of the paper is to show the close relation between software and knowledge engineering and to help the knowledge engineering community to learn from experiences i...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005